package com.laowang.project.system.service.impl;

import java.util.List;

import com.laowang.common.exception.CustomException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.laowang.project.system.mapper.MyCyhClubDemandRelationMapper;
import com.laowang.project.system.domain.MyCyhClubDemandRelation;
import com.laowang.project.system.service.MyCyhClubDemandRelationService;

/**
 * 俱乐部要求关联Service业务层处理
 *
 * @author laowang
 * @date 2024-07-26
 */
@Service
public class MyCyhClubDemandRelationServiceImpl implements MyCyhClubDemandRelationService {
    @Autowired
    private MyCyhClubDemandRelationMapper myCyhClubDemandRelationMapper;

    /**
     * 查询俱乐部要求关联
     *
     * @param id 俱乐部要求关联ID
     * @return 俱乐部要求关联
     */
    @Override
    public MyCyhClubDemandRelation selectMyCyhClubDemandRelationById(Integer id) {
        return myCyhClubDemandRelationMapper.selectMyCyhClubDemandRelationById(id);
    }

    /**
     * 查询俱乐部要求关联列表
     *
     * @param myCyhClubDemandRelation 俱乐部要求关联
     * @return 俱乐部要求关联
     */
    @Override
    public List<MyCyhClubDemandRelation> selectMyCyhClubDemandRelationList(MyCyhClubDemandRelation myCyhClubDemandRelation) {
        return myCyhClubDemandRelationMapper.selectMyCyhClubDemandRelationList(myCyhClubDemandRelation);
    }

    /**
     * 新增俱乐部要求关联
     *
     * @param myCyhClubDemandRelation 俱乐部要求关联
     * @return 结果
     */
    @Override
    public int insertMyCyhClubDemandRelation(MyCyhClubDemandRelation myCyhClubDemandRelation) {
        Integer clubDemandId = myCyhClubDemandRelation.getClubDemandId();
        Integer clubId = myCyhClubDemandRelation.getClubId();
        MyCyhClubDemandRelation myCyhClubDemandRelation1=  myCyhClubDemandRelationMapper.selectOne(clubDemandId,clubId);
        if (myCyhClubDemandRelation1 !=null){
            throw new CustomException("此要求已关联");
        }
        return myCyhClubDemandRelationMapper.insertMyCyhClubDemandRelation(myCyhClubDemandRelation);
    }

    /**
     * 修改俱乐部要求关联
     *
     * @param myCyhClubDemandRelation 俱乐部要求关联
     * @return 结果
     */
    @Override
    public int updateMyCyhClubDemandRelation(MyCyhClubDemandRelation myCyhClubDemandRelation) {
        Integer id = myCyhClubDemandRelation.getId();
        Integer clubDemandId = myCyhClubDemandRelation.getClubDemandId();
        Integer clubId = myCyhClubDemandRelation.getClubId();
        MyCyhClubDemandRelation myCyhClubDemandRelation1=  myCyhClubDemandRelationMapper.selectOne(clubDemandId,clubId);
        if (myCyhClubDemandRelation1!=null){
            if (!myCyhClubDemandRelation1.getId().equals(id)){
                throw new CustomException("要关联的信息已存在");
            }
        }
        return myCyhClubDemandRelationMapper.updateMyCyhClubDemandRelation(myCyhClubDemandRelation);
    }

    /**
     * 批量删除俱乐部要求关联
     *
     * @param ids 需要删除的俱乐部要求关联ID
     * @return 结果
     */
    @Override
    public int deleteMyCyhClubDemandRelationByIds(Integer[] ids) {
        return myCyhClubDemandRelationMapper.deleteMyCyhClubDemandRelationByIds(ids);
    }

    /**
     * 删除俱乐部要求关联信息
     *
     * @param id 俱乐部要求关联ID
     * @return 结果
     */
    @Override
    public int deleteMyCyhClubDemandRelationById(Integer id) {
        return myCyhClubDemandRelationMapper.deleteMyCyhClubDemandRelationById(id);
    }
}
